<?php

class DonController extends BaseController {

    private $don;

    //Ham xay dung
    function __construct() {
        $this->don = new Don();
    }

    //Phuong thuc hien ds thong tin
    public function index() {
        $data = $this->don->GetList();
        $numRows = 0;

        return View::make('qldon.index')
                        ->with("numRows", $numRows)
                        ->with("data", $data)
                        ->with("title", "Danh sách don");
    }
    
    //Show chi tiet don de chinh sua
    public function getDetailDon() {
        if (Input::has('id') || is_numeric(Input::get('id'))) {
            $id = Input::get("id");
            return View::make('qldon.details')
                        ->with("id", $id)
                        ->with("title", "Chỉnh sửa mẫu đơn");
        }
        return Redirect::back()
                        ->with("error", "Không tồn tại đơn này trong CSDL!");
    }

    //Phuong thuc hien thi don
    public function viewDon() {
        if (Input::has('id') || is_numeric(Input::get('id'))) {
            $id = Input::get("id");
            return View::make('qldon.view')
                        ->with("id", $id)
                        ->with("title", "Chi tiết đơn");
        }
        return Redirect::back()
                        ->with("error", "Không tồn tại đơn này trong CSDL!");
    }
    
    //Phuong thuc tim kiem thong tin xac dinh theo thuc post
    public function search() {
        if (Request::ajax()) {
            $tend = Input::get('tend');
            try {
                $data = $this->don->GetOneWithDON($tend);
                return Response::json($data);
            } catch (Exception $ex) {
                return Response::json(null);
            }
        }
    }
    
    //Phuong thuc xoa mot thong tin nao do
    public function remove() {
        if (Input::has("id")) {
            $id = Input::get("id");
            if (is_numeric($id)) {
                if ($this->don->Remove($id)) {
                    return Redirect::back()
                                    ->with("warning", "Xóa hồ sơ hoàn tất!<br/>Cảnh báo: không khuyến khích việc xóa dữ liệu này.");
                }
                return Redirect::back()
                                ->with("error", "Xóa hồ sơ thất bại!");
            }
        }
        return Redirect::back()
                        ->with("error", "Không thể xóa do không có hồ sơ này trong CSDL!");
    }
    
    //Ham lay thong tin cua don
    public function getDon() {
        if (Request::ajax()) {
            $id = Input::get('id');
            try {
                $data = $this->don->GetOneWithId($id);
                return $data->NOI_DUNG;
            } catch (Exception $ex) {
                return null;
            }
        }
    }
    
    //Lưu dữ lieu
    //Phuong thuc xu ly luu thong tin da sua
    public function store() {
            $id = Input::get("iddon");
            $noidung = Input::get("noidung_don");
            $ten = Input::get("tendon");
            $max_tt = DB::table('bieu_mau')->max('THU_TU');
            $status = Input::get("status");
            $data = array(
                  "TEN_BIEU_MAU" => $ten,
                  "NOI_DUNG" => $noidung,
                  "STATUS_MAU" => $status,
                  "THU_TU" => $max_tt+1
              );
            if($this->don->StoreIn($data, $id)) {
                return Redirect::to('ql=dshosott')
                        ->with("success", "Chỉnh sửa hồ sơ mẫu thành công");
            }
            return Redirect::to('ql=dshosott')
                        ->with("error", "Chỉnh sửa dữ liệu hồ sơ thất bại!");
    }

}
